﻿using Kavaa.Modules.PortailMedical.Entity;
using System;
using System.Runtime.Serialization;
using System.ServiceModel;


namespace Kavaa.Modules.PortailMedical.Interface
{
    /// <summary>
    /// Contrat de service pour la gestion des PortailMedical
    /// </summary>
    [ServiceContract]
    public interface IPortailMedical
    {
        /// <summary>
        /// Retourne la liste des Cliniques 
        /// </summary>
        /// <returns>Collection des Cliniques</returns>
   
        //[OperationContract]
        //Cliniques GetCliniquesByActeByVille(int acteId, int villeId);

        [OperationContract]
        void AddInternaute(Internaute Internaute);

        [OperationContract]
        Villes GetVilles();

        [OperationContract]
        Nomenclatures GetNomenclatures();

        [OperationContract]
        Actes GetActes();
        [OperationContract]
        Actes GetActesByClinique(int idclinique);
        [OperationContract]
        Mutuelles GetMutuelles(); 
        [OperationContract]
        Utilisateur GetUserConnecte(String login, String password);

        [OperationContract]
        String GetTypeUserConnecte(int ActeurId);
        [OperationContract]
        void UpdateUtilisateur(int Iduser, string Name, string Prenom, string Fonction, string Tel, string Email);

        [OperationContract]
        void DeleteUtilisateur(int userId);

        [OperationContract]
        Utilisateurs GetUtilisateurs(int ActeurId);
        [OperationContract]
        int AddUtilisateur(Utilisateur user, int IdActeurConnecte);
        [OperationContract]
        Utilisateur GetUserById(int IdUser);
        [OperationContract]
        Specialites GetSpecialites();
        [OperationContract]
        Actes GetActesSpecialite(int id_specialite);
        [OperationContract]
        Ressources GetRessources();
        [OperationContract]
        Actes GetActesCategorie(int idcategorie);
        [OperationContract]
        void ActiverCompte(int Iduser);
        [OperationContract]
        void DesactiverCompte(int Iduser); 
    }
}
